Tightly coupled celestial-intertial navigation system

ABSTRACT

One embodiment is directed towards a method of navigating a body. The method includes determining a respective measured direction of each of a plurality of celestial objects with respect to the body based on an output of one or more star tracking sensors mounted to the body. Calculating an expected direction of at least one of the plurality of celestial objects with respect to the body based on a current navigation solution for the body. Calculating an updated navigation solution for the body based on the expected direction of the at least one celestial object, the measured direction of the plurality of celestial objects, and an output of one or more inertial sensors mounted to the body.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 62/137,686, filed on Mar. 24, 2015, which is herebyincorporated herein by reference.

BACKGROUND

Conventional celestial-aided navigation includes correcting for drift ininertial sensors. For example, conventional celestial aiding has beenused to correct for yaw/heading and tilt errors in inertialmeasurements. This conventional celestial-aiding corrects foryaw/heading and tilt errors by measuring the angle between a startracking sensor and a distant star. This measured angle can be providedto a navigation-solution to correct for errors in yaw/heading and tilt.Thus, this conventional celestial-aiding provides only attitude (i.e.,not position) updates.

Other conventional celestial aiding has been used to provide positioncorrection, however, this conventional celestial aiding requires highlyprecise alignment knowledge and stability between the celestial aid andthe inertial sensors. The precise alignment and stability is requiredbecause the angle between the star tracking sensor and a distant star istranslated to position based on the angle between the star trackingsensor and the local vertical axis. Since the local vertical axis ismeasured by the associated inertial measurement unit (IMU), theorientation between the star tracking sensor and the IMU must be knownvery precisely. Typically, such highly precise alignment and stabilitybetween the star tracking sensor and the IMU is achieved by mounting thestar tracking sensor and the IMU in close proximity to the same platformso that the IMU moves (e.g., rotates) with the star tracking sensor.

SUMMARY

One embodiment is directed towards a method of navigating a body. Themethod includes determining a respective measured direction of each of aplurality of celestial objects with respect to the body based on anoutput of one or more star tracking sensors mounted to the body.Calculating an expected direction of at least one of the plurality ofcelestial objects with respect to the body based on a current navigationsolution for the body. Calculating an updated navigation solution forthe body based on the expected direction of the at least one celestialobject, the measured direction of the plurality of celestial objects,and an output of one or more inertial sensors mounted to the body.

DRAWINGS

The following exemplary figures are intended to aid the understanding ofthe written description of the exemplary embodiments and should not beconsidered limiting in scope.

FIG. 1 is a functional block diagram of an example of a navigationsystem including a real-time planner and a star tracking module.

FIG. 2 is a block diagram of example hardware and software componentsthat can be used to implement the navigation system of FIG. 1.

In accordance with common practice, the various displayed features arenot necessarily drawn to scale but are drawn to emphasize specificfeatures relevant to the exemplary embodiments.

DETAILED DESCRIPTION

Embodiments described herein provide for a navigation system thatcalculates an expected direction of a celestial object with respect to abody and uses the expected direction to aid in measuring the actualdirection of the celestial object with respect to the body. Thedirection of the celestial object can then be used to determine theposition of the body in a navigation system.

FIG. 1 is a functional block diagram of an example of such a navigationsystem 100. The navigation system 100 includes a real-time plannermodule 102, a star tracker module 104, one or more inertial measurementunit(s) (IMU(s)) 106, and a navigation solution module 108. Each modulecan be implemented with appropriate hardware and/or software components.

The navigation solution module 108 calculates a navigation solution fora body and outputs the navigation solution to one or more other systems(e.g., a guidance system for the body). The navigation solution can becalculated in any appropriate manner (e.g., with use of a Kalman-basedfilter) and can include any appropriate information such as a position,velocity, and attitude/heading for the body. The information in thenavigation solution can be in any appropriate units such as latitude andlongitude for position, meters-per-second for the velocity, and degreesfor attitude/heading. The body can be any object including a manned orunmanned vehicle (e.g., spacecraft, aircraft, watercraft, land vehicle),robot, projectile, portable navigation system, or other mobilestructure.

The real-time planner module 102 uses the navigation solution for thebody to provide aiding information, such as beam-steering commands, tothe star tracker module 104. The star tracker module 104 measures adirection of one or more celestial objects using one or more startracking sensors. The measured direction is the direction of the one ormore celestial objects with respect to the body (i.e., the body frame)as observed by the star tracker module 104. The star tracker module 104can determine the measured direction in any appropriate manner, such asby determining which direction the sensor is pointing/facing, bymeasuring a physical movement of the one or more star tracking sensorsas they move (e.g., rotate) to sense light from a celestial object,and/or by processing of image data obtained by the one or more startracking sensors. For example, the direction in which the sensor ispointing can be determined from image data by comparison of the imagedata with a catalogue of the sky. Based on which area in the cataloguecorresponds most closely with the image data, the direction in which theimage data was taken from can be determined. The measured direction ofthe one or more celestial objects can be in any appropriate units suchas in right ascension and declination with respect to the body.

As mentioned above, the star tracker module 104 can determine a measureddirection of one or more celestial objects with respect to the body. Theone or more celestial objects can include any object that is visible tothe one or more star tracking sensors in the sky. Such a celestialobject can include a star, planet, moon, or Earth satellite.

In an example, the star tracker module 104 can calculate a position ofthe body and provide the position to the navigation module 106 for usein correcting the position and/or velocity of the navigation solution.The position can be calculated based on known positions of a pluralityof celestial objects and the measured direction to the plurality ofcelestial objects. The known positions of the plurality of celestialobjects can be provided by the real-time planner 102 to the star trackermodule 104. The star tracker module 104 can then measure the directionto each or a subset of the plurality of celestial objects. Based on themeasured direction to multiple of the plurality of celestial objects,the star tracker module 104 can calculate angular difference between themultiple celestial objects from the perspective (i.e., position) of thebody. Using this angular difference and the known position of themultiple celestial objects, the star tracker module 104 can calculate aposition for the body. This position can be provided to the navigationsolution module 108. In an example, the star tracker module 104calculates at least three unique angular differences between respectivecelestial objects in order to calculate the position for the body.Advantageously, using the known position of multiple celestial objectsand the angular difference between the multiple celestial objectsenables the star tracker module 104 to calculate a position for the bodywithout requiring highly precise alignment and stability between a startracking sensor and corresponding inertial sensor as is required inconventional celestial-aided sensors. Accordingly, these techniques canenable the star tracking sensor to move independently from thecorresponding inertial sensor.

The position calculated by the star tracker module 104 along withinertial measurements (e.g., acceleration and rate of rotation) from theIMU(s) 106 and data from any other navigation sensors, if present, canbe provided to the navigation solution module 108. The navigationsolution module 108 can calculate a navigation solution based on theposition from the body from the star tracker module 104, the inertialsensor measurements, and the data from any other navigation sensors.

In an example, the navigation solution module 108 can then correct forerrors in the position of the body based on the position calculated bythe star tracker module 104. In an example, the navigation solutionmodule 108 can correct for errors in the angular orientation calculatedby the inertial sensors based on the position calculated by the startracker module 104. The errors in the angular orientation can becalculated based on a system dynamics error model, a model of thepropagation of the orientation errors into position errors, and therelative location of the inertial sensors with respect to the startracking sensors.

The real-time planner 102 can provide other information to aid in thepointing/steering the star tracker module 104. The real-time planner 102can determine this aiding information based on the current navigationsolution (e.g., the navigation solution for the previous time step)calculated by the navigation solution module 108. The real-time planner102 can also determine the aiding information based on reference data(star/object data) regarding the location (e.g., direction) of acelestial object in the sky. If the object moves relative to thecelestial sphere, the reference data can also include information on thepath of the object. The reference data can be stored locally withrespect to the real-time planner module 102 and/or can be accessed ordownloaded to the real-time planner module 102 from an externallocation. In an example, the real-time planner 102 can download aportion of reference data that corresponds to a known path, or set ofpossible paths, for the body, such as the reference data for celestialobjects that will be visible during a planned route for the body.

In an example, the information provided to aid in pointing/steering startracker module can include an expected direction for the celestialobject. The real-time planner 102 can calculate the expected directionin which a celestial object should be with respect to the body based onthe known location of the celestial object and the current navigationsolution for the body. In the case of distant celestial objects (e.g., astar other than the sun), the distant celestial objects are essentiallystationary such that the known direction of the celestial object is asingle direction. In the case of moving celestial objects (e.g., anorbiting satellite), the direction of the celestial object can becalculated based on a known path of the object.

The expected direction of the celestial object can be used (e.g., by thestar tracker module 104) to aid in determining a measured direction ofthe celestial object. In one implementation, the star tracker module 104can steer at least one of the one or more star tracking sensors based onthe expected direction of the celestial object. The star tracking module104 can steer the at least one star tracking sensor such that theexpected direction is within (e.g., generally centered within) thefield-of-view of the at least one star tracking sensor. Such a use ofthe expected direction can reduce the length of time required to locatethe celestial object by reducing or eliminating the amount of searchingthat is needed. In another implementation, the star tracker module 104can identify the celestial object in an image from the one or more startracking sensors based on the expected direction. The star trackingmodule 104 can do this by windowing the image to exclude portions of theimage farther away from the expected direction or using other techniquesto reduce the amount of searching needed to identify the celestialobject in the image. The star tracking module 104 can also perform otherprocessing techniques on the image such as excluding portions that aresaturated or otherwise less beneficial (e.g., sun/moon in background orsky blocked by clouds). Such use of the expected direction can reducethe amount of processing and/or reduce the length of time used toidentify the celestial object. In some implementations, the expecteddirection can be used to both steer the one or more star trackingsensors and to identify the celestial object in an image from the one ormore star tracking sensors. The above uses of the expected direction ofa celestial object can be beneficial in many circumstances such as if acelestial object is fast moving or dim to the one or more star trackingsensors.

In any case, the star tracking module 104 can identify the celestialobject in an image(s) from the one or more star tracking sensors anddetermine its own direction (i.e., the measured direction) for thecelestial object with respect to the body. Although the expecteddirection calculation and use has been described above with respect to asingle celestial object, it should be understood that, in some examples,the expected direction of multiple celestial objects can be determinedand used during a given time step of the navigation system.

In an example, the expected position of the celestial object can beprovided to the navigation solution module 108 instead of, or inaddition to, being provided to the star tracker module 104. In such anexample, the navigation solution module 108 can calculate a differencebetween the expected direction and the measured direction of thecelestial object and use this difference to improve the calculation ofthe navigation solution.

In an example, the real-time planner module 102 can provide informationto aid in correcting for atmospheric effects on the measured directionof a celestial object. For example, if a celestial object is closer tothe horizon, light from the object may be refracted which would resultin an error between the measured direction of the celestial object andthe true direction of the object. The real-time planner module 102 cancalculate the error cause by atmospheric effects based on the knownlocation of the celestial object and the current navigation solution forthe body. The star tracker module 104 can then use the error informationto adjust its measured direction for the celestial object. Similar tothe expected direction, in some embodiments, the calculation and use ofatmospheric errors can be performed for multiple celestial objectsduring a given time step of the navigation system.

In an example, the real-time planner module 102 can provide informationto aid in correcting for stellar aberration effects on the measureddirection of a celestial object. For example, if the velocity vector ofthe celestial object is significant relative to the body, stellaraberration can affect the measured direction. The real-time plannermodule 102 can calculate the error caused by stellar aberration(classical and/or relativistic) based on the velocity vector of thecurrent navigation solution for the body. The star tracker module 104can then use the error information to adjust its measured direction forthe celestial object. The calculation and use of stellar errors can beperformed for multiple celestial objects during a given time step of thenavigation system. Additionally, in some embodiments both an adjustmentfor atmospheric error and an adjustment for stellar aberration to themeasured direction can be performed for one or more (e.g., all) of themeasured directions.

In an example, the real-time planner module 102 can select one or morecelestial objects for the star tracker module 104 to measure thedirection of. Such a selection can be made based on, for example, theresulting geometry of the set of the directions for multiple celestialobjects (e.g., a set of celestial objects having a good or optimaldilution of precision). The selection can be made based on ease ofidentifying the celestial objects. The selection can also be made basedon weather conditions such as clouds and/or sun obscuring or degradingvisibility of one or more objects. The selection can also be made by therelative size of the object and/or distance to the object. Anotherselection criteria can be whether the object is in motion relative tothe Earth and the direction of such motion, if any. In some examples,multiple such criteria as well as other criteria can be factoredtogether to arrive at the selection.

Using the direction of one or more celestial objects the navigationsystem 100 (e.g., the navigation solution module 108) can determine anattitude for the body. In some examples, the star tracker module 104 canmeasure a path of a moving celestial object (e.g., an Earth satellite)with respect to a measured direction of a stationary celestial object(e.g., distant star). For example, angular rate of change of a satellitecan be measured and used to determine a velocity and/or attitude for thebody. A velocity can be determined by time resolving a difference inlocation of the satellite over time from the perspective of the startracking sensor. Such a calculation can be based on angles-onlynavigation methods. The navigation system 100 can then determine aposition of the body based on the relationship between the measured pathof the moving celestial object, the known path of the moving celestialobject, the measured direction of the stationary celestial object, andthe known location of the stationary celestial object.

FIG. 2 is a block diagram of an example navigation system 200illustrating hardware and software components that can be used toimplement the functionality described above. The navigation system 200includes one or more star tracking sensors 202 mounted on the body andconfigured to sense light from one or more celestial objects and todetermine a direction from which such light is received. In an example,the one or more star tracking sensors 202 include an optical camera. Insome examples, the star tracking sensors 202 include appropriateactuators to physically steer the star tracking sensors 202 in order toorient the field-of-view of the sensors as desired. The navigationsystem 200 also includes one or more inertial sensors (e.g., IMUs) 204mounted to the body and configured to sense inertial motion of the body.The one or more inertial sensors can include a plurality ofaccelerometers and gyroscopes configured to sense three-dimensionalacceleration and three-dimensional rotation of the body. In someexamples, the one or more additional navigation sensors 206 can also bemounted to the body and are configured to provide additionalnavigation-related data. Such an additional navigation sensor caninclude a global navigation satellite system (GNSS) (e.g., GPS, GLONASS,Galileo, and Beidou) receiver, terrain-recognition system, pressure(e.g., barometric) sensor, Doppler velocity sensor, magnetometer, and/orother sensor.

The navigation system 200 also includes one or more processing devices208 coupled to the one or more star tracking sensors 202, one or moreinertial sensors 204, and one or more additional navigation sensors 206.The one or more processing devices 208 can include any suitableprocessing device such as a digital signal processor (DSP), centralprocessing unit (CPU), micro-controller, arithmetic logic unit (ALU), orfield programmable gate array (FPGA). The one or more processing devices208 can be coupled to memory (not shown) such as RAM, as well as one ormore data storage devices 210. The one or more data storage devices 210can comprise any suitable processor readable media and can bepermanently installed within the navigation system 200 or can be aremovable device. Suitable processor readable media include flash drives(e.g., a USB stick or solid-state drive), magnetic disk drive (e.g.,hard drive), ROM, optical disk (e.g., CD, DVD, Blu-ray), and others.

The one or more data storage devices 210 include instructions 212 which,when executed by the one or more processing devices 208, cause the oneor more processing devices 208 to implement the functionality of thereal-time planner module 102, the star track module 104, and thenavigation solution module 108 described above. In an example, theinstructions 212 can include star track module instructions/algorithms214, a navigation solution module 216, and a real-time planner module218 to implement this functionality.

EXAMPLE EMBODIMENTS

Example 1 includes a navigation system for a body comprising: one ormore star tracking sensors mounted to the body; one or more inertialsensors mounted to the body; one or more processing devices coupled tothe one or more star tracking sensors and the one or more inertialsensors; one or more memory devices coupled to the one or moreprocessing devices, the one or more memory devices includinginstructions which, when executed by the one or more processing devices,cause the one or more processing devices to: determine a respectivemeasured direction of each of a plurality of celestial objects withrespect to the body based on an output of the one or more star trackingsensors; calculate an expected direction of at least one of theplurality of celestial objects with respect to the body based on acurrent navigation solution for the body; and calculate an updatednavigation solution for the body based on the expected direction of theat least one celestial object, the respective measured directions of theplurality of celestial objects, and an output of the one or moreinertial sensors.

Example 2 includes the navigation system of Example 1, wherein theinstructions cause the one or more processing devices to use theexpected direction of the at least one celestial object to aid indetermining the measured direction for the at least one celestialobject.

Example 3 includes the navigation system of Example 2, wherein use theexpected direction of the at least one celestial object includes steerat least one of the one or more star tracking sensors based on theexpected direction such that the expected direction is within the fieldof view of the at least one star tracking sensor.

Example 4 includes the navigation system of any of Examples 2-3, whereinuse the expected direction of the at least one celestial object includeswindowing an output of the one or more star tracking sensors based onthe expected direction.

Example 5 includes the navigation system of any of Examples 1-4, whereinthe instructions cause the one or more processing devices to select theplurality of celestial objects from a larger number of celestial objectsin order to optimize the navigation accuracy that can be obtained fromthe resulting direction measurements.

Example 6 includes the navigation system of any of Examples 1-5, whereinthe current navigation solution is a navigation solution determined bythe navigation system for a previous time step.

Example 7 includes the navigation system of any of Examples 1-6, whereinthe instructions cause the one or more processing devices to calculatean error in a measured direction of the at least one celestial objectcaused by one or more of atmospheric effects or stellar aberration onthe light from the celestial object; and adjust the measured directionfor the at least one celestial object based on the error.

Example 8 includes the navigation system of any of Examples 1-7, whereineach of the plurality of celestial objects includes one of a star,planet, Earth satellite, or moon.

Example 9 includes a method of navigating a body, the method comprising:determining a respective measured direction of each of a plurality ofcelestial objects with respect to the body based on an output of one ormore star tracking sensors mounted to the body; calculating an expecteddirection of at least one of the plurality of celestial objects withrespect to the body based on a current navigation solution for the body;and calculating an updated navigation solution for the body based on theexpected direction of the at least one celestial object, the measureddirection of the plurality of celestial objects, and an output of one ormore inertial sensors mounted to the body.

Example 10 includes the method of Example 9, comprising using theexpected direction of the at least one celestial object to aid indetermining the measured direction of the at least one celestial object.

Example 11 includes the method of Example 10, wherein using the expecteddirection of the at least one celestial object includes steering atleast one of the one or more star tracking sensors based on the expecteddirection such that the expected direction is within the field of viewof the at least one star tracking sensor.

Example 12 includes the method of any of Examples 10-11, wherein usingthe expected direction of the at least one celestial object includeswindowing an output of the one or more star tracking sensors based onthe expected direction.

Example 13 includes the method of any of Examples 9-12, comprisingselecting a plurality of celestial objects in which to measure thedirection of, wherein the plurality of celestial objects are selected inorder to optimize the navigation accuracy that can be obtained from theresulting direction measurements.

Example 14 includes the method of any of Examples 9-13, wherein thecurrent navigation solution is a navigation solution determined by thenavigation system for a previous time step.

Example 15 includes the method of any of Examples 9-14, comprisingcalculating an error in a measured direction of the at least onecelestial object caused by one or more of atmospheric effects or stellaraberration on the light from the celestial object; and adjusting themeasure direction based on the error.

Example 16 includes the method of any of Examples 9-15, wherein each ofthe plurality of celestial objects includes one of a star, planet, Earthsatellite, or moon.

Example 17 includes a non-transitory processor-readable medium havingprocessor-executable instructions stored thereon which, when executed byone or more processing devices, cause the one or more processing devicesto: determine a measured direction of each of a plurality of celestialobjects with respect to the body based on an output of one or more startracking sensors mounted to the body; calculate an expected direction ofat least one of the plurality of celestial objects with respect to thebody based on a current navigation solution for the body; and calculatean updated navigation solution for the body based on the expecteddirection of the at least one celestial object, the measured directionof the plurality of celestial objects, and an output of one or moreinertial sensors mounted to the body.

Example 18 includes the non-transitory processor-readable medium ofExample 17, wherein the instructions are configured to steer at leastone of the one or more star tracking sensors based on the expecteddirection such that the expected direction is within the field of viewof the at least one star tracking sensor.

Example 19 includes the non-transitory processor-readable medium of anyof Examples 17-18, wherein the instructions are configured to window anoutput of the one or more star tracking sensors based on the expecteddirection.

Example 20 includes the non-transitory processor-readable medium of anyof Examples 17-19, wherein the instructions are configured to calculatean error in a measured direction of the at least one celestial objectcaused by atmospheric effects or stellar aberration on the light fromthe celestial object; and adjust the measure direction based on theerrors.

1. A navigation system for a body comprising: one or more star trackingsensors mounted to the body; one or more inertial sensors mounted to thebody; one or more processing devices coupled to the one or more startracking sensors and the one or more inertial sensors; one or morememory devices coupled to the one or more processing devices, the one ormore memory devices including instructions which, when executed by theone or more processing devices, cause the one or more processing devicesto: determine a respective measured direction of each of a plurality ofcelestial objects with respect to the body based on an output of the oneor more star tracking sensors; calculate an expected direction of atleast one of the plurality of celestial objects with respect to the bodybased on a current navigation solution for the body; and calculate anupdated navigation solution for the body based on the expected directionof the at least one celestial object, the respective measured directionsof the plurality of celestial objects, and an output of the one or moreinertial sensors.
 2. The navigation system of claim 1, wherein theinstructions cause the one or more processing devices to use theexpected direction of the at least one celestial object to aid indetermining the measured direction for the at least one celestialobject.
 3. The navigation system of claim 2, wherein use the expecteddirection of the at least one celestial object includes steer at leastone of the one or more star tracking sensors based on the expecteddirection such that the expected direction is within the field of viewof the at least one star tracking sensor.
 4. The navigation system ofclaim 2, wherein use the expected direction of the at least onecelestial object includes windowing an output of the one or more startracking sensors based on the expected direction.
 5. The navigationsystem of claim 1, wherein the instructions cause the one or moreprocessing devices to select the plurality of celestial objects from alarger number of celestial objects in order to optimize the navigationaccuracy that can be obtained from the resulting direction measurements.6. The navigation system of claim 1, wherein the current navigationsolution is a navigation solution determined by the navigation systemfor a previous time step.
 7. The navigation system of claim 1, whereinthe instructions cause the one or more processing devices to calculatean error in a measured direction of the at least one celestial objectcaused by one or more of atmospheric effects or stellar aberration onthe light from the celestial object; and adjust the measured directionfor the at least one celestial object based on the error.
 8. Thenavigation system of claim 1, wherein each of the plurality of celestialobjects includes one of a star, planet, Earth satellite, or moon.
 9. Amethod of navigating a body, the method comprising: determining arespective measured direction of each of a plurality of celestialobjects with respect to the body based on an output of one or more startracking sensors mounted to the body; calculating an expected directionof at least one of the plurality of celestial objects with respect tothe body based on a current navigation solution for the body; andcalculating an updated navigation solution for the body based on theexpected direction of the at least one celestial object, the measureddirection of the plurality of celestial objects, and an output of one ormore inertial sensors mounted to the body.
 10. The method of claim 9,comprising using the expected direction of the at least one celestialobject to aid in determining the measured direction of the at least onecelestial object.
 11. The method of claim 10, wherein using the expecteddirection of the at least one celestial object includes steering atleast one of the one or more star tracking sensors based on the expecteddirection such that the expected direction is within the field of viewof the at least one star tracking sensor.
 12. The method of claim 10,wherein using the expected direction of the at least one celestialobject includes windowing an output of the one or more star trackingsensors based on the expected direction.
 13. The method of claim 9,comprising selecting a plurality of celestial objects in which tomeasure the direction of, wherein the plurality of celestial objects areselected in order to optimize the navigation accuracy that can beobtained from the resulting direction measurements.
 14. The method ofclaim 9, wherein the current navigation solution is a navigationsolution determined by the navigation system for a previous time step.15. The method of claim 9, comprising calculating an error in a measureddirection of the at least one celestial object caused by one or more ofatmospheric effects or stellar aberration on the light from thecelestial object; and adjusting the measure direction based on theerror.
 16. The method of claim 9, wherein each of the plurality ofcelestial objects includes one of a star, planet, Earth satellite, ormoon.
 17. A non-transitory processor-readable medium havingprocessor-executable instructions stored thereon which, when executed byone or more processing devices, cause the one or more processing devicesto: determine a measured direction of each of a plurality of celestialobjects with respect to the body based on an output of one or more startracking sensors mounted to the body; calculate an expected direction ofat least one of the plurality of celestial objects with respect to thebody based on a current navigation solution for the body; and calculatean updated navigation solution for the body based on the expecteddirection of the at least one celestial object, the measured directionof the plurality of celestial objects, and an output of one or moreinertial sensors mounted to the body.
 18. The non-transitoryprocessor-readable medium of claim 17, wherein the instructions areconfigured to steer at least one of the one or more star trackingsensors based on the expected direction such that the expected directionis within the field of view of the at least one star tracking sensor.19. The non-transitory processor-readable medium of claim 17, whereinthe instructions are configured to window an output of the one or morestar tracking sensors based on the expected direction.
 20. Thenon-transitory processor-readable medium of claim 17, wherein theinstructions are configured to calculate an error in a measureddirection of the at least one celestial object caused by atmosphericeffects or stellar aberration on the light from the celestial object;and adjust the measure direction based on the errors.